Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / tests / backend / test_voicemail_webaudio_security.py

Displaying Raw • Download


tests/backend/test_voicemail_webaudio_security.py v4.7.2-rc.1 (b777193f) Text, 2.60 KB

T8b949e# SPDX-License-Identifier: 0BSD

T8b949e"""Fuzzing and security tests for voicemail isolation and web audio guards."""

Tff7b72from T7ee787unittestT7ee787.T7ee787mock Tff7b72import Te6edf3MagicMock

Tff7b72import T7ee787pytest
Tff7b72from T7ee787hypothesis Tff7b72import Te6edf3givenTb4b4b4, Te6edf3settings
Tff7b72from T7ee787hypothesis Tff7b72import Te6edf3strategies Tff7b72as Te6edf3st

Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787web_audio_bridge Tff7b72import Te6edf3WebAudioBridge


Tf0883e@settingsTb4b4b4(Te6edf3deadlineTff7b72=Tff7b72NoneTb4b4b4)
Tf0883e@givenTb4b4b4(Te6edf3pcmTff7b72=Te6edf3stTff7b72.Td2a8ffbinaryTb4b4b4(Te6edf3min_sizeTff7b72=T79c0ff0Tb4b4b4, Te6edf3max_sizeTff7b72=T79c0ff4096Tb4b4b4)Tb4b4b4)
Tff7b72def Td2a8fftest_web_audio_bridge_push_client_frame_never_crashesTb4b4b4(Te6edf3pcmTb4b4b4)Tb4b4b4:
T8b949e"""Random PCM bytes must not crash push_client_frame, even during voicemail."""
Te6edf3tele_mgr Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3tele_mgrTff7b72.Td2a8ffis_voicemail_session_active Tff7b72= Tff7b72True
Te6edf3bridge Tff7b72= Te6edf3WebAudioBridgeTb4b4b4(Te6edf3tele_mgrTb4b4b4, Te6edf3MagicMockTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3bridgeTff7b72.Td2a8fftx_source Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Tff7b72tryTb4b4b4:
Te6edf3bridgeTff7b72.Td2a8ffpush_client_frameTb4b4b4(Te6edf3pcmTb4b4b4)
Tff7b72except Tf85149ExceptionTb4b4b4:
Te6edf3pytestTff7b72.Td2a8fffailTb4b4b4(Ta5d6ff"Ta5d6ffpush_client_frame raised an exceptionTa5d6ff"Tb4b4b4)


Tf0883e@settingsTb4b4b4(Te6edf3deadlineTff7b72=Tff7b72NoneTb4b4b4)
Tf0883e@givenTb4b4b4(Te6edf3pcmTff7b72=Te6edf3stTff7b72.Td2a8ffbinaryTb4b4b4(Te6edf3min_sizeTff7b72=T79c0ff0Tb4b4b4, Te6edf3max_sizeTff7b72=T79c0ff4096Tb4b4b4)Tb4b4b4)
Tff7b72def Td2a8fftest_web_audio_bridge_push_client_frame_forwards_when_not_voicemailTb4b4b4(Te6edf3pcmTb4b4b4)Tb4b4b4:
T8b949e"""PCM bytes must be forwarded when not in a voicemail session."""
Te6edf3tele_mgr Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3tele_mgrTff7b72.Td2a8ffis_voicemail_session_active Tff7b72= Tff7b72False
Te6edf3bridge Tff7b72= Te6edf3WebAudioBridgeTb4b4b4(Te6edf3tele_mgrTb4b4b4, Te6edf3MagicMockTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3mock_tx Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3bridgeTff7b72.Td2a8fftx_source Tff7b72= Te6edf3mock_tx
Tff7b72tryTb4b4b4:
Te6edf3bridgeTff7b72.Td2a8ffpush_client_frameTb4b4b4(Te6edf3pcmTb4b4b4)
Tff7b72except Tf85149ExceptionTb4b4b4:
Te6edf3pytestTff7b72.Td2a8fffailTb4b4b4(Ta5d6ff"Ta5d6ffpush_client_frame raised an exceptionTa5d6ff"Tb4b4b4)
Tff7b72if Te6edf3pcmTb4b4b4:
Te6edf3mock_txTff7b72.Td2a8ffpush_pcmTff7b72.Td2a8ffassert_called_once_withTb4b4b4(Te6edf3pcmTb4b4b4)


Tff7b72def Td2a8fftest_web_audio_bridge_attach_client_refuses_without_active_callTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3tele Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3teleTff7b72.Td2a8ffactive_call Tff7b72= Tff7b72None
Te6edf3tele_mgr Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3tele_mgrTff7b72.Td2a8fftelephone Tff7b72= Te6edf3tele
Te6edf3tele_mgrTff7b72.Td2a8ffis_voicemail_session_active Tff7b72= Tff7b72False
Te6edf3bridge Tff7b72= Te6edf3WebAudioBridgeTb4b4b4(Te6edf3tele_mgrTb4b4b4, Te6edf3MagicMockTb4b4b4(Tb4b4b4)Tb4b4b4)
Tff7b72assert Te6edf3bridgeTff7b72.Td2a8ffattach_clientTb4b4b4(Te6edf3MagicMockTb4b4b4(Tb4b4b4)Tb4b4b4) Tff7b72is Tff7b72False


Tff7b72def Td2a8fftest_web_audio_bridge_attach_client_refuses_during_voicemailTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3tele Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3teleTff7b72.Td2a8ffactive_call Tff7b72= Tffa657objectTb4b4b4(Tb4b4b4)
Te6edf3tele_mgr Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3tele_mgrTff7b72.Td2a8fftelephone Tff7b72= Te6edf3tele
Te6edf3tele_mgrTff7b72.Td2a8ffis_voicemail_session_active Tff7b72= Tff7b72True
Te6edf3bridge Tff7b72= Te6edf3WebAudioBridgeTb4b4b4(Te6edf3tele_mgrTb4b4b4, Te6edf3MagicMockTb4b4b4(Tb4b4b4)Tb4b4b4)
Tff7b72assert Te6edf3bridgeTff7b72.Td2a8ffattach_clientTb4b4b4(Te6edf3MagicMockTb4b4b4(Tb4b4b4)Tb4b4b4) Tff7b72is Tff7b72False


Tff7b72def Td2a8fftest_web_audio_bridge_ensure_remote_tx_skips_without_telephoneTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3bridge Tff7b72= Te6edf3WebAudioBridgeTb4b4b4(Te6edf3MagicMockTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3MagicMockTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3bridgeTff7b72.Td2a8ff_ensure_remote_txTb4b4b4(Te6edf3MagicMockTb4b4b4(Tb4b4b4)Tb4b4b4)
Tff7b72assert Te6edf3bridgeTff7b72.Td2a8fftx_source Tff7b72is Tff7b72None


Tff7b72def Td2a8fftest_web_audio_bridge_ensure_remote_tx_skips_during_voicemailTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3tele Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3tele_mgr Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3tele_mgrTff7b72.Td2a8ffis_voicemail_session_active Tff7b72= Tff7b72True
Te6edf3bridge Tff7b72= Te6edf3WebAudioBridgeTb4b4b4(Te6edf3tele_mgrTb4b4b4, Te6edf3MagicMockTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3bridgeTff7b72.Td2a8ff_ensure_remote_txTb4b4b4(Te6edf3teleTb4b4b4)
Tff7b72assert Te6edf3bridgeTff7b72.Td2a8fftx_source Tff7b72is Tff7b72None


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────